Digital computing engines



March 7, 1961 DIGITAL Filed March 11, 1954 E. J. PETHERICK ETAL COMPUTING ENGINES l8 Sheets-Sheet 1 Upur or; +H.7'.

f 302 OUEUT ourPur 2 wpur/ V I I 30/ (a) T/NPUT 2 PUT OFF OUTPUT 3 g-- H INPUT 2 304 INPUT PUT OFF OUTPUT OUTPUT! OUTPUT (b) F i g (c) PULsEs o ,306

(0) HM 82K 1 couwrmc PULSES PETHKRICK, 308 223%; c. Roma! lnvcnhrb B 7311.1 B -m OUTPUT F1g- I 2 miw Attorneys March 195-1 E. J. PETHERICK ETAL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 SheetS- -Sheet 2 i ly/4 zo/ys GEOFFREY 0. 10m:

lmrenfors y WJW Attorneys March 1961 E. J. PETHERICK ET AL 2,973,901

DIGITAL COMPUTING ENGINES 18 Sheets-Sheet 3 Filed March 11, 1954 I nvgn for-s Attorneys EDWARD J. PE'I'HEEICK, GEOFFREY C. BOHLIY AAAAA n" March 7, 1961 E. J. PETHERICK EI'AL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 4 22x T /sov PULSING u/v/r l INLET FROM I READERS, I 32 REGISTER z I Accuuuuron I v I I mm PITHERIGK TRANSFER I v m J To mania REGISTER [.79. 6 E I My Attorneys Mamh 1961 E. J. PETHERICK ET AL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 5 FROM Fig. 10

I I am:

v z A 2 /O/4 w BIAS Invcnlofs March 7, 1961 Filed March- 11, 1954 E. J.. PETHERICK ET AL DIGITAL COMPUTING ENGINES 18 Sheets-Sheet 6 EDWARD J. PETHERIOK, GEOFFREY C. ROWLEY Inventors A ftorney s March 7, 1951 Filed March 11, 1954 (iii) E. J. .PETHERICK ET AL DIGITAL COMPUTING ENGINES 18 Sheets-Sheet 9 EDWARD J. PETHEBICK GEOFFREY c. ROWLEY Inventor:

W hr- Attorney March 7, 1961 E. J. PETHERICK ET AL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 l8 Sheets-Sheet 10 EDWARD J; PETEEBI 0! 930 Y BOWL]! March 7, 1961 E. J. PETHERICK ETAL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 11 lnvcntora Attorneys 11mm: J. PE omrrm c. noun! By MW Siv March7, 1961 E. J. PETHERICK ET AL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 12 Fiy. I28

m J. Pm 010mm! 0.

lnnnhrs,

B Q Q n EM, MW

Attorney 5 March 7, 1961 Filed March 11, 1954 E. J. PETHERICK ET AL 2,973,901

DIGITAL COMPUTING ENGINES l8 Sheets-Sheet 13 Fig. 2(2

mwmn J. .rmmxcx worms: 0. sown! lnvenfors B M B r Attorneys March 7; 1961 E. J. PETHERICK ET AL DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 14 TO FIG/S MULT/PLY SUBTRA C7.

EDWARD J. fimmmcx, anon-mm 0. new.

Inventors B Mun/ Wm Attorneys March 7, 1961 E. J. PETHERICK ET AL DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 15 March 7, 1961 E. J. PETHERICK ETAL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 16 I CONSTANT VOLTAGE FROM Q FIG-'13 I28 I xs 2 EDWARD J. PETER-RICK, GEOFFREY C. RCMLEY Inventors Attorneys March 7, 1961 E. J. PETHERICK ETAL DIGITAL COMPUTING ENGINES l8 Sheets-Sheet 17 (vi) (w'l') Filed March 11, 1954 w '(w') w) W i (iii) (iv) T0 ACCUMULA TOR CIRCUITS (iii) GR. IOA

(vii) TO ACCUMULA TOR C IRC U/ T S EDWARD J. PETHERICK,

GEOFFREY 0. 110mm Inventors MW E -M, MM 01444) TO cArEs 7/4 & 715(F/G. /0) Fig. /7

Attorney:

March 7, 1961 E. J. PETHERICK ETAL 2,973,901

DIGITAL COMPUTING ENGINES Filed March 11, 1954 18 Sheets-Sheet 18 I 32 l y I 04m 2 3m) w l I L i 36 r y 37 2 }34(/]) l 316 fs/slv I 2 EXPONENT SIGNIFICANT 38 I I I TRANSFER FIGURES l CONTROL TO REGISTER REGISTER A l MAGNET/C PHON/C DRUM WHEEL V I ANSWERS our Fig. /8

EDWARD J. PETHERIOK GEOFFREY C. ROWLEY MW Attorneys United tates Patent DIGITAL COMPUTING ENGINES Edward John Petherick, Rowledge, near Farnham, and Geoffrey Charles Rowley, Sutton, England, assignors, by mesne assignments, to International Business Machines Corporation, New York, N.Y., a corporation of New York Filed Mar. 11, '1954, Ser. No. 415,610

Claims priority, application Great Britain Mar. 17, 1953 14 Claims. (Cl. 235160) I The present invention relates to digital computing engines working in the decimal scale of notation.

According to the present invention, a' decimal digital computing engine comprises a parallel accumulator including a plurality of scale-of-ten counters and a sign stage comprising a scale-of-ten counter for indicating the sign of adigit stored in the accumulator.

According to a feature of the present invention, the decimal digital computing engine comprises a parallel accumulator including a plurality of scale-of-ten counters in which negative decimal digits are stored as their complements on nines and to which negative decimal digits are added as their complements on nines, a sign stage comprising a scale-of-ten counter, means for adding nine to the sign stage counter each time a negative number is added to the accumulator and means for adding to the sign stage counter any carry digit from the accumulator counter assigned to store the most significant digit.

According to a further feature of the present invention, the sign stage counter is arranged to record 0 when the number stored in the accumulator is positive and 9 when the number stored in the accumulator is negative.

The computing engine may be a fixed point machine or may be a floating point machine. Thus the accumulator counter assigned to store the most significant decimal digit may always be the same or may be variable and defined by, for example, a control ring.

An embodiment of the present invention will now be described by way of example, with reference to a specific electrical computing engine. Reference will be made to the accompanying drawings in which:

Figures 1(a), (b) and (c) are diagrams explanatory of the notation used in other figures for one of the circuit elements in logical circuits,

Figures 2(a) and (b) are diagrams explanatory of the notation used in other figures for another of the circuit elements in the logical circuits,

Figure 3 is a logical circuit diagram of a recoder for recoding a four-element code representing a decimal digit into a five-element code representing the same digit,

Figure 4 is a circuit diagram of part of the arithmetical register of the computing engine,

Figure 5 is a circuit diagram of part of a control ring in the computing engine,

Figure 6 is a block-schematic diagram of part of the I computing engine,

Figure 7 is a logical circuit diagram of a recoder for recoding decimal digits stored in the accumulator of the computing engine into a four-element code,

Figure 8 is a graphical representation of voltage against time and is explanatory of the circuit shown in Figure 7, Figure 9 is a logical circuit diagram of a ring accumulator,

Figure 10 is a logical circuit diagram of one stage of the accumulator shown in Figure 9 and also includes a logical representation of part of one stage of the arithmetical register,

Figure 11 is a circuit diagram of part of the accumulator stage shown in Figure 10,

Figure 12 is a series of diagrams illustrating the timing of pulses applied to the arithmetical register, and other parts of the engine, during multiplication,

Figure 13 is a logical circuit diagram of a multiplier register, a sign register and their associated circuits,

Figure 14 is a logical circuit diagram of part of the pulsing unit indicated in Figure 6,

Figure 15 is a logical diagram of a circuit for controlling the pulsing unit shown in Figure 14,

Figure 16 is a logical circuit diagram of an exponent register and its associated scale-of-ten counters,

Figures 17(a) and (b) are logical circuit diagrams illustrating two alternative forms of arithmetical register, and

Figure 18 is a block-schematic diagram illustrating the general arrangement of the computing engine.

Some of the circuit elements illustrated in the accompanying drawings are described in the specification of United States Patent No. 2,686,632, issued August 17, 1954. As far as possible the notation defined in that specification will be used for the logical circuit diagrams in the present specification.

However, two of the circuit elements illustrated in the accompanying drawings have no counterpart described in the above-mentioned patent specification and will now be described with reference to Figures 1 and 2. I

Figures 1(b) and (0) show the notation which will be used hereinafter to illustrate a circuit which will be termed hereinafter in the specification and appended claims as av trigger tube. The circuit employs a cold-cathode trigger tube in which a low current discharge between a subsidiary anode and cathode can be switched to a main anode-cathode path by a pulse applied to a transfer electrode. We use the tube sold under the trade designation Gl/ 370K or G1/ 371K. The properties of this tube and its application are disclosed in a paper Some Recently Developed Cold Cathode Tubes and Associated Circuits, which was published in the April, May and June 1952 issues of Electronic Engineering at pages 152, 230 and 272, respectively. One useful property of these tubes is that once the discharge has been transferred to the main cathode-anode path a tube may be used to pass applied pulses. The tube may therefore act as a combined trigger and gate.

Figures 1(b) and (c) illustrate the schematic notation used by comparison with a simple equivalent circuit using more conventional symbols as shown in Figure 1(a).

Figure 1(a) shows a trigger tube 301 having an anode pulse applied to input 2 will appear as a negative pulse at output 2. A long negative pulse (of about 25 microseconds duration) applied to the input designated put 011 1 will put the trigger tube oil (that is to say, cause the main cathode-anode discharge to cease) and also cause a negative pulse output at output 3. Those inputs and outputs are those generally used. However, other similar connections may be used. For example, a long positive pulse applied to the cathode of the trigger tube will put it off and a positive pulse may also be passed from the anode circuit to the cathode circuit.

Figures 1(b) and (a) show the schematic equivalents of Figure 1(a). The line drawn through the crosshatched portion of the oval 304, from say, input 2 to output 2 illustrates the main cathode-anode path through which pulses may be passed. In Figure 1(1)), the input 1 illustrates the connection to the trigger electrode to put the trigger tube on. Output 1 illustrates a direct voltage output from the trigger tube circuit and the put off connection illustrates a means of putting oh the trigger tube. A line connected to the put otf connection and to the main cathode-anode path, as shown in Figure 1(c) indicated that the pulse used to put the trigger tube oif also serves to provide an output pulse at output 3.

This computing engine also employs scale-of-ten counters and we prefer to use a cold-cathode counting tube. These tubes are well-known in the art and are sold under the trade names Deltatron and Nomotron. These tubes are generally called dekatrons. In these tubes a discharge is set up between a central anode and one of ten surrounding cathodes. This discharge can be stepped to successive cathodes by feeding pulses to certain transfer electrodes. Nine of the cathodes are usually connected internally and access is given to that group and to the remaining cathode. This remaining cathode forms the output electrode and gives an output while the discharge remains on it. The tube thus counts stepping or counting pulses down by a scale of ten. We prefer to use the tube sold under the trade designation GC.10D.

Figures 2(a) and ([1) illustrate the convention used to represent deltatrons in the logical circuit diagrams in this specification. Figure 2(a) shows a dekatron 3G5 and an input for counting on stepping pulses connecting to the stepping electrode of the dBkZltI'Ol'l. A counting pulse applied to the input causes the discharge in the dekatron to be stepped from one cathode to the next. The nine cathodes which have a common connection are represented at 306. When the discharge reaches the output cathode 307 an output is obtained from the output cathode.

Figure 2(b) shows the convention actually used in the logical circuit diagrams in this specification. Figure 2(b) shows diagrammatically an envelope 308, a central anode and ten surrounding cathodes. The input connected to the envelope is equivalent to the input for counting pulses shown in Figure 2(a) and the output is shown connected to a cathode (the output cathode).

In Figures 17(a) and 17(1)) of the drawings, switching tubes are illustrated. In these cases, inputs or outputs may be applied to or taken from any of the cathodes and connections to all the cathodes are thus shown. Similarly an input or an output may be applied to or taken from the anode and a connection to the anode is, therefore, shown. The discharges in these switching tubes may also be stepped in a manner similar to the manner illustrated in Figure 2(a) The engine to be described works in the decimal scale of notation and digits of numbers are represented by pulses or spaces (that is to say, the absence of pulses) and since the digits 9 may occur in decimal arithmetic, it follows that at least four two-state code elements are re quired to represent the possible decimal digits. In the present engine the decimal digits are represented by a four-element code in the main storage of the machine but in the arithmetical register they are represented by a fiveelement code.

In the store, numbers are presented in the serial mode, and the code elements to each digit are presented simultaneously, that is to say, on four channels simultaneously. When the four-element code is used, the channels will be referred to as the channels 1, 2, 3 and 9, and when the five-element code is used, the channels will be referred to as 1/8, 2/7, 3/6, 5/5 and 4. The codes used are represented in the following table:

Table 1 Four-clement code for Five-clement code for the storage-Channels used arithmetical Register-Chan- Digit ncls used X X 0 X 1 X X 3 X X X 4 X X X 5 X X X X 6 X X X X 7 X X X X 8 X X 9 X In this table an X indicates that a pulse, or a voltage, is present on the channel indicated.

The use of the five-element code set out in Table l renders it a simple matter to take either the direct digit of an operand or its complement on 9.

At this stage it will be convenient to explain how the four-element code used in the store of the engine is translated into the five-element code used in the arithmetical register, and for this purpose reference is made to Figure 3. The four-element codes appear on the channels marked 1, 2, 3 and 9 at the left-hand side of the drawing and are translated to a five-clement code on the channels 1/8, 2/7, 3/6, 4/5 and 4 at the right-hand side of the drawing. The voltages on these last channels may be set up by trigger tubes 11, 12, 13, 14 and 15. The tubes 11, 12 and 13 are set respectively by the channels 1, 2 and 3 through the gates 16, 1'7 and 13, provided these gates are not inhibited. These gates are, however, inhibited when a voltage occurs simultaneously on any two of the channels 1, 2 and 3. The gates are, of course, inhibited by the output from the end gate 19 when the condition stated exists. The tube 14 is flashed when there is a voltage on the lines 1 and 3 or 2 and 3, because the output from the gate 19 will gate the voltage on the line 3 throughthe gate 111 to the tube 14. Finally the tube 15 will be operated when there is a voltage present on the channels 2 and 3 or on the channel 9; gate 112, of course, passes the voltages on the lines 2 and 3 to operate the tube 15. It will thus be seen that the codes are translated in accordance with Table l.

The states of the trigger tubes 11 to 15 may be read by applying a voltage pulse to an input line 113 in a manner to be explained hereinafter. The voltage pulse passes through those (if any) of the trigger tubes 11 to 15 which are flashed so that a pulse appears on none, one or two of the output channels 1/8, 2/7, 3/6, 4/5 and 4 so as to represent one of the decimal digits 0 to 9 in the fiveelement code. The voltage pulse is also applied to an end element 114 the output of which is connected to an inhibiting connection on each of the trigger tubes 11 to 15. Thus, at the end of each voltage pulse, those trigger tubes which have been flashed are put off.

The gate 19 is arranged to give an output when it receives an input on any two of the input lines. This gate may conveniently comprise three resistances fed separately with the input voltages and all connected at their ends remote from the input ends to a common resistance. 

